1. Field
This field is generally related to managing access to metadata related to application programming interfaces (APIs).
2. Related Art
Application programming interfaces (APIs) are used in software engineering to help define ways to access and communicate with software programs. For example, an application programming interface (API) may define a particular set of rules and specifications that software programs can follow to communicate with each other. APIs may allow an interface between different software programs and facilitate their interaction, similar to the way the user interface facilitates interaction between humans and computers.
An API may be created for applications, libraries, operating systems, etc., as a way of defining their “vocabularies” and resources request conventions (e.g. function calling conventions). An API may include specifications for routines, data structures, object classes and protocols used to communicate between the consumer program and the implementer program of the API.
APIs may act as abstractions that describe an interface for the interaction with a set of functions used by components of a software system. The software providing the functions described by an API is said to be an implementation of the API.
The term “API” may be used to refer to a complete interface, a single function, or even a set of APIs provided by an organization. Thus, the scope of meaning is usually determined by the context of usage.
Past approaches such as Web Services Description Language (WSDL) have used technology such as XML (eXtended Markup Language) to represent interfaces between various web services and APIs. However, alternative technologies such as JSON (JavaScript Object Notation) and HTTPS (Hypertext Transfer Protocol Secure) offer efficient and effective ways to represent and transmit metadata about APIs in machine-readable formats that can facilitate development of client libraries, IDE plugins, and other tools for interacting with APIs. Moreover, other formats and protocols may facilitate uses of APIs in new and flexible ways.